#pragma once
#include<iostream>
#include<sys/types.h>
#include<sys/socket.h>
#include<sys/wait.h>
#include<unistd.h>
#include<string>
#include<functional>
#include"Inetaddr.hpp"
#include"Log.hpp"

using namespace LogMod;

class nocopy{
    public:
    const nocopy& operator=(const nocopy&) =delete;
    nocopy(const nocopy& ) = delete;
    nocopy(){}
    ~nocopy(){} 
};

enum Exit_code{
    SUCCESS = 0,
    USER_ERR,
    SOCKER_ERR,
    BIND_ERR,
    LISTEN_ERR,
    ACCEPT_ERR,
    FORK_ERR,
    CONNECT_ERR
};